// utils/request.js
import axios from 'axios';
import { useTokenStore } from '@/store/modules/auth'; // 根据实际路径调整
import { getActivePinia, setActivePinia } from 'pinia';

export function request(config) {
    if (!getActivePinia()) {
        throw new Error('Pinia is not active');
    }

    const tokenStore = useTokenStore();

    const instance = axios.create({
        baseURL: import.meta.env.VITE_APP_BASE_API,
        timeout: 5000,
        headers: {
            'Authorization': `Bearer ${tokenStore.getToken()}`,
        },
    });

    instance.interceptors.request.use(
        (config) => {
            const token = tokenStore.getToken();
            console.log(token)
            if (token) {
                config.headers['Authorization'] = `Bearer ${token}`;
            }
            return config;
        },
        (error) => {
            return Promise.reject(error);
        }
    );

    instance.interceptors.response.use(
        (response) => {
            return response.data;
        },
        (error) => {
            return Promise.reject(error);
        }
    );

    return instance(config);
}

// import axios from 'axios';
// import { getActivePinia,setActivePinia } from 'pinia';
// import { useTokenStore } from '@/store/modules/auth';

// // const pinia = createPinia();
// // const tokenStore = useTokenStore(pinia);
// const tokenStore = useTokenStore();

// // 创建 axios 实例
// const instance = axios.create({
//     baseURL: import.meta.env.VITE_APP_BASE_API,
//     timeout: 5000,
// });

// // 配置请求拦截器
// instance.interceptors.request.use(
//     config => {
//         const token = tokenStore.getToken();
//         console.log("token",token)
//         if (token) {
//             config.headers["Authorization"] = token;
//         }
//         return config;
//     },
//     error => {
//         return Promise.reject(error);
//     }
// );

// // 配置响应拦截器
// instance.interceptors.response.use(
//     res => {
//         return res.data;
//     },
//     error => {
//         // 这里可以添加错误处理逻辑
//         return Promise.reject(error);
//     }
// );

// // 封装网络请求
// export function request(config) {
//     return instance(config);
// }